package main

import (
	"fmt"
	"os"
	"path/filepath"
)

func main() {
	// 获取当前目录
	currentDir, err := os.Getwd()
	if err != nil {
		fmt.Printf("获取当前目录失败: %v\n", err)
		return
	}

	// 创建README.md文件路径
	readmePath := filepath.Join(currentDir, "README.md")

	// README.md的内容
	content := `# 桌面文件整理工具

## 简介

桌面文件整理工具是一个用于自动整理Windows桌面上特定文件和文件夹的实用程序。该工具可以帮助您快速处理桌面上以"新建"开头的文本文件和文件夹，提高工作效率。

## 功能特点

该工具提供两种主要功能：

1. **文本文件处理**：
   - 查找桌面上所有以"新建"开头的TXT文件
   - 将所有文件内容合并到一个文件中
   - 生成文件名列表
   - 删除原始文件

2. **文件夹处理**：
   - 查找桌面上所有以"新建"开头的文件夹
   - 将这些文件夹移动到一个带时间戳的目标文件夹中

## 系统要求

- Windows操作系统
- Go运行环境（如果从源代码运行）

## 安装方法

### 方法一：直接使用编译好的可执行文件

1. 下载` + "`win-tools.exe`" + `文件
2. 将文件放置在任意位置（建议放在一个固定的文件夹中）
3. 可以选择将该文件夹添加到系统PATH环境变量中，以便在任何位置使用命令

### 方法二：从源代码编译

1. 确保已安装Go语言环境
2. 克隆或下载源代码
3. 在项目目录中运行以下命令编译程序：
   ` + "```bash" + `
   go build -o win-tools.exe
   ` + "```" + `

## 使用方法

该工具通过命令行参数运行，必须指定处理类型。

### 基本语法

` + "```bash" + `
win-tools.exe -type=<处理类型>
` + "```" + `

### 参数说明

- ` + "`-type`" + `: 指定处理类型，必填参数
  - ` + "`file`" + `: 处理桌面上以"新建"开头的txt文本文件
  - ` + "`folder`" + `: 处理桌面上以"新建"开头的文件夹

### 示例

1. 处理桌面上的文本文件：
   ` + "```bash" + `
   win-tools.exe -type=file
   ` + "```" + `

2. 处理桌面上的文件夹：
   ` + "```bash" + `
   win-tools.exe -type=folder
   ` + "```" + `

## 工作流程

### 文本文件处理模式 (-type=file)

1. 扫描桌面，查找所有以"新建"开头的TXT文件
2. 在桌面创建TMP文件夹（如果不存在）
3. 生成带时间戳的输出文件名
4. 将所有找到的文件名输出到` + "`TMP_NAME_时间戳.txt`" + `文件
5. 读取并合并所有文件内容，输出到` + "`TMP_TXT_时间戳.txt`" + `文件
6. 删除原始文件
7. 输出处理结果统计信息

### 文件夹处理模式 (-type=folder)

1. 扫描桌面，查找所有以"新建"开头的文件夹
2. 在桌面创建TMP文件夹（如果不存在）
3. 在TMP文件夹中创建带时间戳的子文件夹（如` + "`TMP_20230101_120000`" + `）
4. 将找到的所有文件夹移动到该子文件夹中
5. 如果目标位置已存在同名文件夹，会自动添加序号避免冲突
6. 输出处理结果统计信息

## 输出文件

### 文本文件处理模式

- ` + "`TMP_NAME_时间戳.txt`" + `: 包含所有处理的文件名列表
- ` + "`TMP_TXT_时间戳.txt`" + `: 包含所有合并的文件内容

### 文件夹处理模式

- ` + "`TMP_时间戳/`" + `: 包含所有移动的文件夹

## 注意事项

1. 该工具会直接删除处理过的文本文件，请确保这些文件已不再需要
2. 文件夹处理模式会移动原始文件夹，而不是复制
3. 所有操作都在桌面上进行，不会影响其他位置的文件
4. 如果没有找到符合条件的文件或文件夹，程序会提示并退出
`

	// 写入README.md文件
	err = os.WriteFile(readmePath, []byte(content), 0644)
	if err != nil {
		fmt.Printf("写入README.md文件失败: %v\n", err)
		return
	}

	fmt.Printf("成功生成README.md文件: %s\n", readmePath)
}